import re
# 原生字符
re_obj = re.search('abc', 'helloabcuhuhiug')
print(re_obj)
# 元字符
# . 匹配任意一个字符(除了\n换行)
print(re.search('he.', 'hehhduiuu').group())
# print(re.search('he.', 'he\nhhduiuu').group())         # 匹配不到
print(re.search('he.', 'heh-hduiuu').group())
print(re.search('he.', 'he/hhduiuu').group())

# []匹配[]中列举的字符
print(re.search('he[1234abc=dhb]', 'he1').group())
print(re.search('he[1234abc=dhb]', 'he=').group())
# print(re.search('he[1234abc=dhb]', 'he+').group())             # 不能匹配 []列举的没有+
print(re.search('he[0-9A-Za-z]{1,}', 'hegdsufcsbjgFFF').group())
print(re.search('he[0-9A-Za-z]{1,}', 'heg100').group())
print(re.search('he[0-9A-Za-z]{2}', 'he10').group())

# \d 匹配数字 即0-9 = [0-9]
print(re.search('he\d', 'he5').group())
print(re.search('he\d', 'he0').group())
print(re.search('he[0-9]{1,}', 'he45').group())
# print(re.search('he[0-9]{1,}', 'hea').group())      #不能匹配

# \D 匹配非数字,即0-9 = [0-9]
print(re.search('he\D', 'he你').group())
print(re.search('he\D', 'hea').group())
# print(re.search('he\D', 'he78').group())     # 不能匹配

# \s匹配空白,即空格, tab键
print(re.search('he\s', 'he usdvcsipo').group())
print(re.search('he\s', 'he usdvcsipo').group())
print(re.search('he\s', 'he\nusdvcsipo').group())
print(re.search('he\s', 'he\rusdvcsipo').group())
# print(re.search('he\s', 'he124usdvcsipo').group())       # 不能匹配

# \w匹配非特殊字符,即a-z A-Z 0-9 _ 汉字 [a-zA-Z0-9_\u4e00-\u9fa5]
print(re.search('he\w', 'hexx').group())
print(re.search('he\w', 'he你好').group())
print(re.search('he\w', 'he1').group())
# print(re.search('he\w', 'he*').group())   # 不能匹配
print(re.search('[\u4e00-\u9fa5][\u4e00-\u9fa5]', '54648哈哈').group())
print(re.search('he\w\w', 'heukgul').group())         # \w是任意匹配一个字符










